package com.crl.factory.pool
{
	public class AbstractRecycleable implements IRecycleable
	{
		protected var pool:IPool;
		public function AbstractRecycleable()
		{
		}
		
		public function awake():void
		{
		}
		
		public function sleep():void
		{
		}
		
		public function recycle():void
		{
			if(pool){
				pool.recycle(this);
			}else{
				this.dispose();
			}
		}
		
		public function setPool(pool:IPool):void
		{
			this.pool=pool;
		}
		
		public function dispose():void
		{
		}
	}
}